﻿// Study0910.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
// 第九章 群体数据 模板元编程

#include <iostream>
template<unsigned N>
struct Power
{
	template<class T>
	static T value(T x)
	{
		return x * Power<N - 1>::value(x);
	}
	
	
};
template<>
struct Power<1>
{
	template<class T>
	static T value(T x)
	{
		return x;
	}	
};


int main()
{
	int x = 2;
	std::cout << Power<4>::value(x);
	return 0;
	}

